Video games often provide for operation of an avatar controlled in response to user input that interacts with a modeled two-dimensional (2D) or three-dimensional (3D) modeled environment and one or more 2D or 3D characters controlled by the computer using automatic algorithms and/or input from other players. As used herein, “character” generally includes both avatars and characters controlled by the computer using automatic algorithms without direct user input, while “automatically controlled character” or similar terms are used where it is desired to make clear that avatars are being excluded. A user may control more than one avatar in a scene by shifting the input focus from one character to the next; the character with the focus becomes the current avatar and the remaining characters in the scene are controlled automatically.
Each character may be modeled to appear, for example, as a person, animal, alien, fantasy creature, living toy or robot and is represented in computer memory by a set fixed data objects, for example, a 3D mesh, a set of textures for coloring and rendering the mesh, an armature organized as a hierarchical set nodes comprising “joints” that define relationships between “bones,” and a rule set for mapping the armature to the mesh. Each character may be animated between key frames of video output based on an associated variable data set of control parameters, for example, a set of current positions and orientations for nodes of the armature, a texture set selection variable, camera settings for rendering the scene, and lighting parameters for rendering the scene. User input is used to control characters chiefly by changing the armature data in response to user input, causing the avatar to move and articulate its limbs and head, while interacting with the modeled environment and other characters according to a set of rules, e.g., “physics” rules that resemble physical laws but usually permit actions that are not possible in reality. In addition, character data may include a set of 2D sprites that may be used to approximate 3D rendering of the character and speed up the responsiveness of the character to user input in the output video.
Characters move and interact with machines and static modeled environments that are similarly modeled in computer memory using fixed data objects and variable parameters. Environmental objects may be static in position, or move only in response to character activity according to a set of rules. If modeled as a machine, environmental objects may move according to a limited set of pre-programmed actions. While there is no strict distinction between a computer-controlled character and a modeled machine, computer-controlled character actions resemble avatar actions, while machine actions are simpler and often predictable or repetitive.
A data set comprising all of the variable parameters for characters and environmental objects in a scene together with variable rendering parameters (e.g., camera and lighting parameters) may be referred to as a “game state.” The game state may change with each calculation cycle of the game process executed by the game machine, based on user inputs and process rules. A software executable for instantiating a game process may sometimes be called a “game engine,” while a game machine may sometimes be referred to as a “game computer,” “computer,” or similar terminology. Cycles for determination of a game state may vary based on computational load and game machine capabilities. For modern video games, game cycle frequency is usually less than 1 Herz (cycles per second), for example about 10 Herz or higher, for further example, between about 10 and 106 Herz. Note that modern processor frequencies are in the gigahertz (109) range, and a process cycle period is determined by the time between a change of any game state variable. A video key frame may be generated after every cycle, or less frequently. If the video key frame cycle frequency is lower than the output video frequency, a graphics engine may interpolate intervening frames between key frames. It should be appreciated that 2D games may operate similarly to 3D games, but with less complex processing and rendering rules.
A “portal device,” as used herein, is an input device that is configured for sensing a toy, or a physical token representing a toy, in proximity to itself and providing a video game process with information regarding the sensed toy or token. Portal devices have been used to control the appearance or activation of a character in a video game. When a portal device senses placement or removal of a toy, it sends a signal to the game process to which the portal is coupled via a wired or wireless coupling. The game process may respond by enabling access to a previously “locked” or hidden character, for example. Thus, a user who possesses a certain toy may obtain the privilege of interacting with a video game character that resembles the toy, while users that do not possess the toy are deprived of the privilege.
However, the utility of prior portal devices have been too limited to raise lasting interest in the toy or associated video game. Once the novelty of unlocking the associated character wears off, the portal device adds little or nothing of ongoing interest to the end user of the video game.
It would be desirable, therefore, to provide a new, more interactive apparatus for a portal device and methods of using it in conjunction with a video game, that overcome these and other limitations of the prior art and enhance the appeal, enjoyment, and capacity for providing education or healthful mental exercise afforded by video games and related toys.